Faits :
A.
A.a. Par jugement du 16 novembre 2017, le Tribunal pénal de l'arrondissement du Lac (FR) a condamné A._ à une peine privative de liberté de 20 mois, dont 10 mois avec sursis durant cinq ans.
Par jugement du 27 novembre 2017, le Tribunal de police du Littoral et du Val-de-Travers (NE) a condamné le prénommé à une peine pécuniaire de 25 jours-amende, convertie en une peine privative de liberté de substitution de 25 jours en raison du non-paiement de cette sanction.
Par jugement du 4 décembre 2017, le Tribunal de police de l'arrondissement de la Broye et du Nord vaudois a condamné A._ à une peine pécuniaire de 40 jours-amende, convertie en une peine privative de liberté de substitution de 40 jours en raison du non-paiement de cette sanction.
Par jugement du 28 mars 2019, confirmé en définitive par l'arrêt du Tribunal fédéral du 28 juin 2019 (6B_704/2019), la Cour d'appel pénale du Tribunal cantonal du canton de Vaud a condamné le prénommé, pour vol en bande et par métier, dommages à la propriété, utilisation frauduleuse d'un ordinateur et tentative d'utilisation frauduleuse d'un ordinateur, à une peine privative de liberté de 24 mois et a en outre ordonné l'expulsion de l'intéressé du territoire suisse pour une durée de huit ans.
En plus de ces condamnations, l'extrait du casier judiciaire suisse de A._ en révèle huit autres, entre 2011 et 2016, à des peines pécuniaires ou à des peines privatives de liberté allant jusqu'à 180 jours. En 2011, le prénommé avait bénéficié d'une libération conditionnelle.
A.b. A._ exécute actuellement le solde des peines privatives de liberté qui lui ont été infligées, dont les deux tiers ont été atteints le 22 mars 2020 et dont le terme est fixé au 14 décembre 2020.
B.
Par ordonnance du 5 mars 2020, le Juge d'application des peines vaudois a refusé à A._ la libération conditionnelle.
C.
Par arrêt du 20 mars 2020, la Chambre des recours pénale du Tribunal cantonal du canton de Vaud a rejeté le recours formé par A._ contre cette ordonnance et a confirmé celle-ci.
Il en ressort ce qui suit.
C.a. Dans un rapport du 16 juillet 2019, la direction de la Prison B._ a indiqué que A._ avait adopté un comportement agressif verbalement envers le personnel de surveillance et avait eu de la peine à respecter les règles ainsi que le cadre fixés par l'institution. Le prénommé avait en outre fait l'objet de trois sanctions disciplinaires entre 2018 et 2019. Il était encore indiqué que, dans le cadre de son travail à l'atelier de cuisine, celui-ci écoutait les ordres donnés, respectait les chefs de cuisine et travaillait correctement.
C.b. Le 16 juillet 2019, A._ a encore fait l'objet d'une sanction disciplinaire pour inobservation des règlements et directives de la Prison C._. Il s'est notamment montré agressif envers le personnel de surveillance, a menacé de frapper contre la porte toute la nuit et de se couper les veines avec une lame de rasoir.
C.c. Par ordonnance du 15 août 2019, le Juge d'application des peines vaudois a refusé à A._ la libération conditionnelle.
Par arrêt du 10 septembre 2019, la Chambre des recours pénale du Tribunal cantonal vaudois a rejeté le recours formé par A._ contre l'ordonnance du 15 août 2019 et a confirmé celle-ci.
Par arrêt du 19 novembre 2019 (6B_1200/2019), le Tribunal fédéral a rejeté, dans la mesure de sa recevabilité, le recours formé par A._ contre l'arrêt du 10 septembre 2019.
C.d. Le 15 novembre 2019, le Service de la population vaudois a indiqué que A._ avait été reconnu par les autorités algériennes et qu'un laissez-passer pouvait être obtenu. Si ce dernier collaborait, un vol à destination d'Alger pouvait être organisé dans un délai d'un mois. A défaut, un vol avec escorte policière serait organisé.
C.e. Dans un rapport du 10 décembre 2019, la direction de la Prison C._ a préavisé favorablement à la libération conditionnelle du prénommé, assortie d'une expulsion du territoire suisse, dès lors que l'intéressé ne tirait que peu de profit de sa période d'incarcération sur le plan de son amendement ou d'un projet professionnel précis.
La Fondation vaudoise de probation a, en substance, émis la même recommandation dans un rapport du 5 décembre 2019.
C.f. Dans un rapport du 10 décembre 2019, la direction de la Prison D._ - dans laquelle A._ avait été transféré en novembre 2019 - a relevé que ce dernier avait attiré l'attention des intervenants dès son arrivée et qu'il s'était montré, à une occasion, arrogant et agressif verbalement vis-à-vis du service médical.
C.g. Le 19 décembre 2019, l'Office d'exécution des peines a proposé de refuser la libération conditionnelle de A._.
Ce dernier a été entendu le 29 janvier 2020 par le Juge d'application des peines.
Le 3 février 2020, le ministère public a conclu au refus de la libération conditionnelle de A._.
D.
A._ forme un recours en matière pénale au Tribunal fédéral contre l'arrêt du 20 mars 2020, en concluant, avec suite de frais et dépens, principalement à sa réforme en ce sens que sa libération conditionnelle est immédiatement ordonnée et, subsidiairement, à son annulation et au renvoi de la cause à l'autorité précédente pour nouvelle décision. Il sollicite par ailleurs le bénéfice de l'assistance judiciaire.

Considérant en droit :
1.
Selon l'<ref-law>, les décisions sur l'exécution de peines et de mesures peuvent faire l'objet d'un recours en matière pénale.
2.
Le recourant conteste le refus de sa libération conditionnelle.
2.1. Aux termes de l'<ref-law>, l'autorité compétente libère conditionnellement le détenu qui a subi les deux tiers de sa peine, mais au moins trois mois de détention, si son comportement durant l'exécution de la peine ne s'y oppose pas et s'il n'y a pas lieu de craindre qu'il ne commette de nouveaux crimes ou de nouveaux délits. La libération conditionnelle constitue la dernière étape de l'exécution de la sanction pénale. Elle est la règle et son refus l'exception, dans la mesure où il n'est plus exigé qu'il soit à prévoir que le condamné se conduira bien en liberté (cf. art. 38 ch. 1 al. 1 aCP), mais seulement qu'il ne soit pas à craindre qu'il commette de nouveaux crimes ou délits. Autrement dit, il n'est plus nécessaire pour l'octroi de la libération conditionnelle qu'un pronostic favorable puisse être posé. Il suffit que le pronostic ne soit pas défavorable (<ref-ruling> consid. 2.2 p. 203). Le pronostic à émettre doit être posé sur la base d'une appréciation globale, prenant en considération les antécédents de l'intéressé, sa personnalité, son comportement en général et dans le cadre des délits qui sont à l'origine de sa condamnation, le degré de son éventuel amendement ainsi que les conditions dans lesquelles il est à prévoir qu'il vivra (<ref-ruling> consid. 2.3 p. 203 s. et les références citées). Par sa nature même, le pronostic ne saurait être tout à fait sûr; force est de se contenter d'une certaine probabilité; un risque de récidive est inhérent à toute libération, conditionnelle ou définitive (<ref-ruling> consid. 1b p. 7). Pour déterminer si l'on peut courir le risque de récidive, il faut non seulement prendre en considération le degré de probabilité qu'une nouvelle infraction soit commise, mais également l'importance du bien qui serait alors menacé. Ainsi, le risque de récidive que l'on peut admettre est moindre si l'auteur s'en est pris à la vie ou à l'intégrité corporelle de ses victimes que s'il a commis par exemple des infractions contre le patrimoine (<ref-ruling> consid. 2.3 p. 203 et les références citées). Il y a également lieu de rechercher si la libération conditionnelle, éventuellement assortie de règles de conduite et d'un patronage, ne favoriserait pas mieux la resocialisation de l'auteur que l'exécution complète de la peine (<ref-ruling> consid. 4d/aa/bb p. 198 ss). Dans l'émission du pronostic, l'autorité compétente dispose d'un large pouvoir d'appréciation, de sorte que le Tribunal fédéral n'intervient que si elle l'a excédé ou en a abusé, notamment lorsqu'elle a omis de tenir compte de critères pertinents et s'est fondée exclusivement sur les antécédents du condamné (<ref-ruling> consid. 2.3 p. 204).
2.2. La cour cantonale a exposé que si, depuis le dernier examen de la libération conditionnelle du recourant, le comportement de ce dernier en détention s'était quelque peu amélioré, le pronostic demeurait défavorable. Tout d'abord, il convenait de tenir compte des très nombreux antécédents du recourant, lequel avait été condamné à 12 reprises entre 2011 et 2018, notamment en raison d'infractions commises par métier, ce qui commandait une grande prudence. Ensuite, le prétendu amendement du recourant manquait de sincérité et était à l'évidence dicté par les besoins de la présente procédure. Le recourant ne s'était ainsi que très récemment intéressé au remboursement des frais de procédure. Enfin, l'intéressé refusait désormais de collaborer en vue de son renvoi dans son pays d'origine, alors qu'il avait jusqu'ici toujours déclaré vouloir s'y plier. C'était en vain que le recourant prétendait vouloir se rendre en France, où il signalait pouvoir être logé chez sa soeur et travailler. Celui-ci n'indiquait d'ailleurs aucunement comment il entendait s'y rendre, alors qu'il ne disposait pas des autorisations pour le faire, non plus que pour s'y établir. Pour le reste, en Suisse, le recourant ne disposait d'aucune attache ni d'aucun projet. Il était donc sérieusement à craindre que le recourant, en cas d'élargissement anticipé, commette de nouvelles infractions graves et répétées contre le patrimoine.
2.3. Le recourant se borne à contester le pronostic formulé par la cour cantonale, en se prévalant essentiellement des déclarations faites lors de l'audience du 29 janvier 2020. Il affirme ainsi, sans étayer davantage son propos au moyen d'éléments ressortant du dossier, qu'il aurait eu l'occasion de "réfléchir", d'entamer une "réelle et profonde remise en question" et de prendre conscience de la gravité des infractions commises. De telles protestations d'amendement sont cependant contredites, comme l'a relevé l'autorité précédente, par l'attitude du recourant ainsi que par les observations rapportées par les différents intervenants dans la procédure.
Le recourant fait grand cas de son nouveau projet d'installation en France. Le regard porté par la cour cantonale sur cet aspect ne prête cependant pas le flanc à la critique. Le recourant n'explique pas comment il entend, d'un point de vue administratif, s'établir en France. En outre, ses projets en la matière sont d'autant moins crédibles que, dans le cadre de sa précédente procédure de libération conditionnelle, le recourant affirmait - y compris devant le Tribunal fédéral (cf. arrêt 6B_1200/2019 précité) - vouloir regagner l'Algérie afin d'y travailler et d'y vivre auprès de sa famille.
Compte tenu de ce qui précède, c'est à bon droit que l'autorité précédente a considéré que le risque de récidive demeurait très sérieux, puisque le recourant avait toutes les chances, en cas de libération conditionnelle, de se retrouver désoeuvré, en Suisse, sans moyen de subvenir à ses besoins. La cour cantonale pouvait ainsi, sans violer le droit fédéral, poser un pronostic défavorable et, partant, refuser d'accorder au recourant la libération conditionnelle. Le grief doit être rejeté.
3.
Le recours doit être rejeté. Comme il était dépourvu de chance de succès, l'assistance judiciaire doit être refusée (<ref-law>). Le recourant, qui succombe, supporte les frais judiciaires. Ceux-ci seront fixés en tenant compte de sa situation financière, qui n'apparaît pas favorable (art. 65 al. 2 et 66 al. 1 LTF).

Par ces motifs, le Tribunal fédéral prononce :
1.
Le recours est rejeté.
2.
La demande d'assistance judiciaire est rejetée.
3.
Les frais judiciaires, arrêtés à 1'200 fr., sont mis à la charge du recourant.
4.
Le présent arrêt est communiqué aux parties et au Tribunal cantonal du canton de Vaud, Chambre des recours pénale.
Lausanne, le 11 juin 2020
Au nom de la Cour de droit pénal
du Tribunal fédéral suisse
Le Président : Denys
Le Greffier : Graa